home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / pcboard / gcsnv100.zip / GCSN.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-06-04  |  12KB  |  1,101 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Boolean  BOOLEAN008
  27.     Boolean  BOOLEAN009
  28.     Boolean  BOOLEAN010
  29.     Boolean  BOOLEAN011
  30.     Boolean  BOOLEAN012
  31.     Boolean  BOOLEAN013
  32.     Boolean  BOOLEAN014
  33.     Boolean  BOOLEAN015
  34.     Boolean  BOOLEAN016
  35.     Boolean  BOOLEAN017
  36.     Boolean  BOOLEAN018
  37.     Boolean  BOOLEAN019
  38.     Boolean  BOOLEAN020
  39.     Boolean  BOOLEAN021
  40.     Boolean  BOOLEAN022
  41.     Boolean  BOOLEAN023
  42.     Boolean  BOOLEAN024
  43.     Boolean  BOOLEAN025
  44.     Boolean  BOOLEAN026
  45.     Boolean  BOOLEAN027
  46.     Boolean  BOOLEAN028
  47.     Boolean  BOOLEAN029
  48.     Boolean  BOOLEAN030
  49.     Boolean  BOOLEAN031
  50.     Boolean  BOOLEAN032
  51.     Boolean  BOOLEAN033
  52.     Boolean  BOOLEAN034
  53.     Boolean  BOOLEAN035
  54.     Boolean  BOOLEAN036
  55.     Integer  INTEGER001
  56.     Integer  INTEGER002
  57.     Integer  TINTEGER003(128)
  58.     Integer  INTEGER004
  59.     Integer  INTEGER005
  60.     Integer  INTEGER006
  61.     Integer  INTEGER007
  62.     Integer  INTEGER008
  63.     Integer  INTEGER009
  64.     Integer  INTEGER010
  65.     Integer  INTEGER011
  66.     Integer  INTEGER012
  67.     Integer  INTEGER013
  68.     Integer  INTEGER014
  69.     Integer  INTEGER015
  70.     Integer  INTEGER016
  71.     Integer  INTEGER017
  72.     Integer  INTEGER018
  73.     Integer  INTEGER019
  74.     Integer  INTEGER020
  75.     Integer  INTEGER021
  76.     Integer  INTEGER022
  77.     String   STRING001
  78.     String   STRING002
  79.     String   STRING003
  80.     String   STRING004
  81.     String   STRING005
  82.     String   STRING006
  83.     String   TSTRING007(128)
  84.     String   STRING008
  85.     String   STRING009
  86.     String   STRING010
  87.     String   STRING011
  88.     String   STRING012
  89.     String   STRING013
  90.     String   STRING014
  91.     String   STRING015
  92.     String   STRING016
  93.     String   STRING017
  94.     String   STRING018
  95.     String   STRING019
  96.     String   STRING020
  97.     String   STRING021
  98.     String   STRING022
  99.     String   STRING023
  100.     String   STRING024
  101.     String   STRING025
  102.     String   STRING026
  103.     String   STRING027
  104.     String   STRING028
  105.     String   STRING029
  106.     String   STRING030
  107.     String   STRING031
  108.     String   STRING032
  109.     String   STRING033
  110.     String   STRING034
  111.     String   STRING035
  112.     String   STRING036
  113.     String   STRING037
  114.     String   STRING038
  115.     String   STRING039
  116.     String   STRING040
  117.     String   STRING041
  118.     String   STRING042
  119.     String   STRING043
  120.     String   STRING044
  121.     String   STRING046
  122.     String   STRING047
  123.     String   STRING048
  124.     Declare  Function FUNCTION001(String STRING045) String
  125.     Declare  Function FUNCTION002() String
  126.     Declare  Procedure PROC001()
  127.     Declare  Procedure PROC002()
  128.     Declare  Procedure PROC003()
  129.     Declare  Procedure PROC004()
  130.     Declare  Procedure PROC005()
  131.     Declare  Procedure PROC006()
  132.     Declare  Procedure PROC007()
  133.     Declare  Procedure PROC008()
  134.     Declare  Procedure PROC009(String STRING049)
  135.     Declare  Procedure PROC010()
  136.  
  137. ;------------------------------------------------------------------------------
  138.  
  139.     PROC001()
  140.     PROC010()
  141.     End
  142.  
  143. ;------------------------------------------------------------------------------
  144.  
  145.     Procedure PROC001()
  146.  
  147.     PROC002()
  148.     PROC003()
  149.     PROC004()
  150.     PROC005()
  151.  
  152.     EndProc
  153.  
  154.  
  155. ;------------------------------------------------------------------------------
  156.  
  157.     Procedure PROC002()
  158.  
  159.     BOOLEAN001 = 0
  160.     BOOLEAN002 = 1
  161.     BOOLEAN003 = 0
  162.     BOOLEAN004 = 0
  163.     BOOLEAN005 = 1
  164.     BOOLEAN006 = 0
  165.     BOOLEAN009 = 1
  166.     BOOLEAN010 = 0
  167.     BOOLEAN011 = 0
  168.     BOOLEAN012 = 0
  169.     BOOLEAN013 = 0
  170.     INTEGER002 = HiConfNum()
  171.     INTEGER004 = 0
  172.     INTEGER001 = 1
  173.     STRING001 = "1.00"
  174.     STRING003 = "NONE"
  175.     STRING016 = "A"
  176.     STRING017 = ""
  177.     STRING002 = ""
  178.     STRING018 = ""
  179.     STRING020 = "Shareware version"
  180.     STRING021 = "Shareware version"
  181.  
  182.     EndProc
  183.  
  184.  
  185. ;------------------------------------------------------------------------------
  186.  
  187.     Procedure PROC003()
  188.  
  189.     String   STRING022
  190.     String   STRING023
  191.  
  192.     STRING022 = FUNCTION001(PPEPath() + "cfgfiles\gcsn")
  193.     FOpen 1, STRING022, 0, 2
  194.     FDefIn 1
  195.     FDGet STRING023
  196.     If (STRING023 <> "Global Conference ScaN") Then
  197.         FClose 1
  198.         PROC009("invalid configuration file")
  199.     Endif
  200.     FDGet STRING023
  201.     STRING023 = Upper(STRING023)
  202.     STRING004 = STRING023
  203.     FDGet STRING023
  204.     STRING010 = STRING023
  205.     FDGet STRING023
  206.     STRING011 = STRING023
  207.     FDGet STRING023
  208.     STRING023 = Upper(STRING023)
  209.     STRING005 = STRING023
  210.     FDGet STRING023
  211.     STRING012 = STRING023
  212.     FDGet STRING023
  213.     STRING013 = STRING023
  214.     FDGet STRING023
  215.     STRING023 = Upper(STRING023)
  216.     STRING006 = STRING023
  217.     FDGet STRING023
  218.     STRING014 = STRING023
  219.     FDGet STRING023
  220.     STRING015 = STRING023
  221.     FDGet STRING023
  222.     STRING019 = STRING023
  223.  
  224.     EndProc
  225.  
  226.  
  227. ;------------------------------------------------------------------------------
  228.  
  229.     Procedure PROC004()
  230.  
  231.     Boolean  BOOLEAN014
  232.     Integer  INTEGER005
  233.     Integer  INTEGER006
  234.     Integer  INTEGER007
  235.     String   STRING024
  236.     String   STRING025
  237.     String   STRING026
  238.  
  239.     STRING026 = LastAns()
  240.     Tokenize STRING026
  241.     INTEGER007 = TokCount() - 1
  242.     INTEGER006 = 0
  243.     While (INTEGER006 <= 128) Do
  244.         TSTRING007(INTEGER006) = ""
  245.         Inc INTEGER006
  246.     EndWhile
  247.     INTEGER006 = 0
  248.     STRING003 = GetToken()
  249.     STRING003 = Upper(STRING003)
  250.     While (INTEGER007 > 0) Do
  251.         STRING024 = GetToken()
  252.         STRING024 = Upper(STRING024)
  253.         Select Case (STRING024)
  254.             Case "VER"
  255.                 PrintLn "Global Conference ScaN v" + STRING001
  256.                 PrintLn "Registered BBS:  " + STRING020
  257.                 PrintLn "Registered User:  " + STRING021
  258.                 PROC010()
  259.             Case "NS"
  260.                 BOOLEAN004 = 1
  261.                 TSTRING007(INTEGER006) = STRING024
  262.                 Inc INTEGER006
  263.             Case "P"
  264.                 BOOLEAN005 = 1
  265.             Case "NP"
  266.                 BOOLEAN005 = 0
  267.             Case "FP"
  268.                 If (STRING003 == STRING004) Then
  269.                     BOOLEAN007 = 1
  270.                 Endif
  271.             Case "NFP"
  272.                 If (STRING003 == STRING004) Then
  273.                     BOOLEAN007 = 0
  274.                 Endif
  275.             Case "DP"
  276.                 If (STRING003 == STRING005) Then
  277.                     BOOLEAN006 = 1
  278.                 Endif
  279.             Case "NDP"
  280.                 If (STRING003 == STRING005) Then
  281.                     BOOLEAN006 = 0
  282.                 Endif
  283.             Case "TP"
  284.                 If (STRING003 == STRING006) Then
  285.                     BOOLEAN008 = 1
  286.                 Endif
  287.             Case "NTP"
  288.                 If (STRING003 == STRING006) Then
  289.                     BOOLEAN008 = 0
  290.                 Endif
  291.             Case "STP"
  292.                 BOOLEAN010 = 1
  293.             Case "NSTP"
  294.                 BOOLEAN010 = 0
  295.             Case "A"
  296.                 BOOLEAN012 = 1
  297.                 BOOLEAN009 = 0
  298.                 STRING016 = "A"
  299.             Case "U"
  300.                 BOOLEAN013 = 1
  301.                 BOOLEAN009 = 0
  302.                 STRING016 = "U"
  303.             Case "0"
  304.                 BOOLEAN003 = 1
  305.                 TINTEGER003(INTEGER004) = 0
  306.                 Inc INTEGER004
  307.                 BOOLEAN014 = 1
  308.                 INTEGER005 = ToInteger(STRING024)
  309.                 STRING025 = String(INTEGER005)
  310.             Case 6, Len(STRING025), 0
  311.                 If ((INTEGER005 >= 1) && (INTEGER005 <= INTEGER002)) Then
  312.                     BOOLEAN003 = 1
  313.                     TINTEGER003(INTEGER004) = INTEGER005
  314.                     Inc INTEGER004
  315.                 Endif
  316.                 BOOLEAN014 = 1
  317.                 Select Case (STRING003)
  318.                     Case STRING004
  319.                         If (Len(STRING017) == 0) Then
  320.                             STRING017 = STRING024
  321.                             BOOLEAN014 = 0
  322.                         Endif
  323.                     Case STRING005
  324.                         If ((Len(STRING002) == Strip(ToDate(""), "-")) && ValDate(STRING024)) Then
  325.                             STRING002 = STRING024
  326.                             BOOLEAN014 = 0
  327.                         Endif
  328.                     Case STRING006
  329.                     Case 0
  330.                         STRING018 = STRING024
  331.                         BOOLEAN014 = 0
  332.                 End Select
  333.             Case 
  334.                 TSTRING007(INTEGER006) = STRING024
  335.                 Inc INTEGER006
  336.         End Select
  337.         Dec INTEGER007
  338.     EndWhile
  339.     If (BOOLEAN012 || BOOLEAN013) Then
  340.         BOOLEAN010 = 0
  341.     Endif
  342.     INTEGER001 = INTEGER006
  343.  
  344.     EndProc
  345.  
  346.  
  347. ;------------------------------------------------------------------------------
  348.  
  349.     Procedure PROC005()
  350.  
  351.     Select Case (STRING003)
  352.         Case STRING004
  353.             Log "GCSN - Executed global locate via " + STRING004 + ".", 0
  354.             STRING008 = STRING010
  355.             STRING009 = STRING011
  356.             If ((BOOLEAN001 || (STRING020 == "Shareware version")) || (STRING021 == "Shareware version")) Then
  357.                 Log "GCSN - Shareware version.  Please register.", 0
  358.                 PrintLn "GCSN - Shareware version.  Delay will be removed with registration."
  359.                 Delay 91
  360.             Endif
  361.             PROC006()
  362.         Case STRING005
  363.             Log "GCSN - Executed global new scan via " + STRING005 + ".", 0
  364.             STRING008 = STRING012
  365.             STRING009 = STRING013
  366.             If ((BOOLEAN001 || (STRING020 == "Shareware version")) || (STRING021 == "Shareware version")) Then
  367.                 Log "GCSN - Shareware version.  Please register.", 0
  368.                 PrintLn "GCSN - Shareware version.  Delay will be removed with registration."
  369.                 Delay 91
  370.             Endif
  371.             PROC007()
  372.         Case STRING006
  373.             Log "GCSN - Executed global zippy scan via " + STRING006 + ".", 0
  374.             STRING008 = STRING014
  375.             STRING009 = STRING015
  376.             If ((BOOLEAN001 || (STRING020 == "Shareware version")) || (STRING021 == "Shareware version")) Then
  377.                 Log "GCSN - Shareware version.  Please register.", 0
  378.                 PrintLn "GCSN - Shareware version.  Delay will be removed with registration."
  379.                 Delay 91
  380.             Endif
  381.             PROC008()
  382.         Case Else
  383.             Log "GCSN - Executed unknown command:  " + STRING003, 0
  384.             PROC009("unknown command")
  385.     End Select
  386.  
  387.     EndProc
  388.  
  389.  
  390. ;------------------------------------------------------------------------------
  391.  
  392.     Procedure PROC006()
  393.  
  394.     Boolean  BOOLEAN015
  395.     Boolean  BOOLEAN016
  396.     Boolean  BOOLEAN017
  397.     Boolean  BOOLEAN018
  398.     Boolean  BOOLEAN019
  399.     Boolean  BOOLEAN020
  400.     Boolean  BOOLEAN021
  401.     Integer  INTEGER008
  402.     Integer  INTEGER009
  403.     Integer  INTEGER010
  404.     Integer  INTEGER011
  405.     Integer  INTEGER012
  406.     String   STRING027
  407.     String   STRING028
  408.     String   STRING029
  409.     String   STRING030
  410.     String   STRING031
  411.     String   STRING032
  412.  
  413.     BOOLEAN015 = 0
  414.     BOOLEAN020 = 1
  415.     INTEGER009 = 0
  416.     INTEGER008 = 0
  417.     INTEGER011 = 0
  418.     INTEGER012 = 0
  419.     INTEGER010 = U_RecNum(U_Name())
  420.     STRING032 = STRING017
  421.     STRING028 = ""
  422.     While (INTEGER008 < INTEGER001) Do
  423.         STRING028 = STRING028 + TSTRING007(INTEGER008) + ";"
  424.         Inc INTEGER008
  425.     EndWhile
  426.     If (Len(STRING017) == 0) Then
  427.         BOOLEAN021 = 0
  428.         STRING032 = ""
  429.     Else
  430.         BOOLEAN021 = 1
  431.         STRING032 = STRING017
  432.     Endif
  433.     :LABEL001
  434.     If (BOOLEAN015) Goto LABEL011
  435.     BOOLEAN018 = 1
  436.     If (BOOLEAN003 && (INTEGER011 == 0)) Then
  437.         BOOLEAN018 = 0
  438.     Endif
  439.     If (BOOLEAN003) Then
  440.         If (INTEGER012 == 0) Then
  441.             BOOLEAN019 = 1
  442.         Else
  443.             BOOLEAN019 = 0
  444.         Endif
  445.     ElseIf (INTEGER011 == 0) Then
  446.         BOOLEAN019 = 1
  447.     Else
  448.         BOOLEAN019 = 0
  449.     Endif
  450.     STRING027 = "L;"
  451.     STRING030 = "Y"
  452.     BOOLEAN016 = 0
  453.     If (BOOLEAN018) Then
  454.         If (BOOLEAN019) Goto LABEL002
  455.         If (Len(STRING019) > 0) Then
  456.             PrintLn STRING019
  457.             STRING031 = ReadLine(ReadLine(PCBDat(), 31), INTEGER009 * 33 + 1)
  458.             PrintLn STRING031
  459.         Endif
  460.         :LABEL002
  461.         BOOLEAN017 = 0
  462.         :LABEL003
  463.         If (BOOLEAN017) Goto LABEL006
  464.         If (BOOLEAN005 && !BOOLEAN019) Then
  465.             PrintLn 
  466.             DispStr STRING008
  467.             InputStr STRING009, STRING030, 7, 1, "YNA", 256 + 8 + 2
  468.             STRING030 = Upper(STRING030)
  469.             Goto LABEL004
  470.         Endif
  471.         STRING030 = "Y"
  472.         :LABEL004
  473.         If (STRING030 == "Y") Then
  474.             BOOLEAN017 = 1
  475.             If ((((INTEGER011 == 0) || BOOLEAN007) || BOOLEAN020) && !BOOLEAN021) Then
  476.                 STRING030 = ""
  477.                 PromptStr 71, STRING030, 79, Mask_Ascii(), 128 + 256
  478.                 STRING032 = STRING030
  479.                 If (Len(STRING032) == 0) Then
  480.                     BOOLEAN015 = 1
  481.                     BOOLEAN018 = 0
  482.                 Endif
  483.                 STRING017 = STRING032
  484.             Endif
  485.             STRING027 = STRING027 + STRING017 + ";"
  486.             If (BOOLEAN009 && BOOLEAN018) Then
  487.                 If (((INTEGER011 == 0) || BOOLEAN010) || BOOLEAN020) Then
  488.                     STRING030 = "A"
  489.                     PromptStr 352, STRING030, 0, Mask_Ascii(), 128 + 256
  490.                     STRING016 = STRING030
  491.                     If (Len(STRING016) == 0) Then
  492.                         BOOLEAN015 = 1
  493.                         BOOLEAN018 = 0
  494.                     Endif
  495.                 Endif
  496.             Endif
  497.             STRING027 = STRING027 + STRING016 + ";"
  498.             BOOLEAN020 = 0
  499.             Goto LABEL005
  500.         Endif
  501.         If (STRING030 == "N") Then
  502.             BOOLEAN017 = 1
  503.             BOOLEAN018 = 0
  504.             Goto LABEL005
  505.         Endif
  506.         If (STRING030 == "A") Then
  507.             BOOLEAN017 = 1
  508.             BOOLEAN015 = 1
  509.             BOOLEAN018 = 0
  510.         Endif
  511.         :LABEL005
  512.         Goto LABEL003
  513.         :LABEL006
  514.         If (BOOLEAN018 && !BOOLEAN019) Then
  515.             STRING029 = STRING027 + STRING028
  516.             Command 0, STRING029
  517.             If (BOOLEAN004) Goto LABEL007
  518.             PromptStr 549, STRING030, 79, Mask_Ascii(), 128
  519.         Endif
  520.     Endif
  521.     :LABEL007
  522.     If (BOOLEAN015) Goto LABEL010
  523.     If (INTEGER011 <> 0) Then
  524.         :LABEL008
  525.         If (BOOLEAN016) Goto LABEL009
  526.         If (INTEGER009 <= INTEGER002) Then
  527.             If (BOOLEAN003) Then
  528.                 If ((INTEGER012 < INTEGER004) && (TINTEGER003(INTEGER012) <= INTEGER002)) Then
  529.                     INTEGER009 = TINTEGER003(INTEGER012)
  530.                     STRING031 = ReadLine(ReadLine(PCBDat(), 31), INTEGER009 * 33 + 1)
  531.                     If ((Len(STRING031) > 0) && U_InConf(INTEGER010, INTEGER009)) Then
  532.                         Inc INTEGER012
  533.                         BOOLEAN016 = 1
  534.                         STRING030 = String(INTEGER009) + ";Q"
  535.                         Join STRING030
  536.                     Else
  537.                         Inc INTEGER012
  538.                     Endif
  539.                 Else
  540.                     BOOLEAN016 = 1
  541.                     BOOLEAN015 = 1
  542.                 Endif
  543.             Else
  544.                 Inc INTEGER009
  545.                 STRING031 = ReadLine(ReadLine(PCBDat(), 31), INTEGER009 * 33 + 1)
  546.                 If ((Len(STRING031) > 0) && U_InConf(INTEGER010, INTEGER009)) Then
  547.                     BOOLEAN016 = 1
  548.                     STRING030 = String(INTEGER009) + ";Q"
  549.                     Join STRING030
  550.                 Else
  551.                     BOOLEAN016 = 0
  552.                 Endif
  553.             Endif
  554.         Else
  555.             BOOLEAN016 = 1
  556.             BOOLEAN015 = 1
  557.         Endif
  558.         Goto LABEL008
  559.         :LABEL009
  560.     Else
  561.         If (BOOLEAN003) Goto LABEL010
  562.         STRING030 = String(INTEGER009) + ";Q"
  563.         Join STRING030
  564.     Endif
  565.     :LABEL010
  566.     Inc INTEGER011
  567.     Goto LABEL001
  568.     :LABEL011
  569.  
  570.     EndProc
  571.  
  572.  
  573. ;------------------------------------------------------------------------------
  574.  
  575.     Procedure PROC007()
  576.  
  577.     Boolean  BOOLEAN022
  578.     Boolean  BOOLEAN023
  579.     Boolean  BOOLEAN024
  580.     Boolean  BOOLEAN025
  581.     Boolean  BOOLEAN026
  582.     Boolean  BOOLEAN027
  583.     Boolean  BOOLEAN028
  584.     Boolean  BOOLEAN029
  585.     Integer  INTEGER013
  586.     Integer  INTEGER014
  587.     Integer  INTEGER015
  588.     Integer  INTEGER016
  589.     Integer  INTEGER017
  590.     String   STRING033
  591.     String   STRING034
  592.     String   STRING035
  593.     String   STRING036
  594.     String   STRING037
  595.     String   STRING038
  596.  
  597.     BOOLEAN022 = 0
  598.     BOOLEAN028 = 1
  599.     INTEGER014 = 0
  600.     INTEGER013 = 0
  601.     INTEGER016 = 0
  602.     INTEGER017 = 0
  603.     INTEGER015 = U_RecNum(U_Name())
  604.     STRING034 = ""
  605.     While (INTEGER013 < INTEGER001) Do
  606.         STRING034 = STRING034 + TSTRING007(INTEGER013) + ";"
  607.         Inc INTEGER013
  608.     EndWhile
  609.     If (Len(STRING002) == 0) Then
  610.         BOOLEAN029 = 0
  611.         STRING038 = String(U_LDir())
  612.         STRING038 = Strip(STRING038, "-")
  613.     Else
  614.         BOOLEAN029 = 1
  615.         STRING038 = STRING002
  616.     Endif
  617.     :LABEL012
  618.     If (BOOLEAN022) Goto LABEL024
  619.     BOOLEAN026 = 1
  620.     If (BOOLEAN003 && (INTEGER016 == 0)) Then
  621.         BOOLEAN026 = 0
  622.     Endif
  623.     If (BOOLEAN003) Then
  624.         If (INTEGER017 == 0) Then
  625.             BOOLEAN027 = 1
  626.         Else
  627.             BOOLEAN027 = 0
  628.         Endif
  629.     ElseIf (INTEGER016 == 0) Then
  630.         BOOLEAN027 = 1
  631.     Else
  632.         BOOLEAN027 = 0
  633.     Endif
  634.     STRING033 = "N;"
  635.     STRING036 = "Y"
  636.     BOOLEAN023 = 0
  637.     If (BOOLEAN026) Then
  638.         If (BOOLEAN027) Goto LABEL013
  639.         If (Len(STRING019) > 0) Then
  640.             PrintLn STRING019
  641.             STRING037 = ReadLine(ReadLine(PCBDat(), 31), INTEGER014 * 33 + 1)
  642.             PrintLn STRING037
  643.         Endif
  644.         :LABEL013
  645.         BOOLEAN024 = 0
  646.         :LABEL014
  647.         If (BOOLEAN024) Goto LABEL019
  648.         If (BOOLEAN005 && !BOOLEAN027) Then
  649.             PrintLn 
  650.             DispStr STRING008
  651.             InputStr STRING009, STRING036, 7, 1, "YNA", 256 + 8 + 2
  652.             STRING036 = Upper(STRING036)
  653.             Goto LABEL015
  654.         Endif
  655.         STRING036 = "Y"
  656.         :LABEL015
  657.         If (STRING036 == "Y") Then
  658.             BOOLEAN024 = 1
  659.             If ((((INTEGER016 == 0) || BOOLEAN006) || BOOLEAN028) && !BOOLEAN029) Then
  660.                 BOOLEAN025 = 0
  661.                 :LABEL016
  662.                 If (BOOLEAN025) Goto LABEL017
  663.                 STRING036 = STRING038
  664.                 PromptStr 72, STRING036, 6, "0123456789", 128 + 256 + 2
  665.                 BOOLEAN025 = ValDate(STRING036)
  666.                 Goto LABEL016
  667.                 :LABEL017
  668.                 STRING002 = STRING036
  669.             Endif
  670.             STRING033 = STRING033 + STRING002 + ";"
  671.             If (BOOLEAN009) Then
  672.                 If (((INTEGER016 == 0) || BOOLEAN010) || BOOLEAN028) Then
  673.                     STRING036 = "A"
  674.                     PromptStr 352, STRING036, 0, Mask_Ascii(), 128 + 256
  675.                     STRING016 = STRING036
  676.                     If (Len(STRING016) == 0) Then
  677.                         BOOLEAN022 = 1
  678.                         BOOLEAN026 = 0
  679.                     Endif
  680.                 Endif
  681.             Endif
  682.             STRING033 = STRING033 + STRING016 + ";"
  683.             BOOLEAN028 = 0
  684.             Goto LABEL018
  685.         Endif
  686.         If (STRING036 == "N") Then
  687.             BOOLEAN024 = 1
  688.             BOOLEAN026 = 0
  689.             Goto LABEL018
  690.         Endif
  691.         If (STRING036 == "A") Then
  692.             BOOLEAN024 = 1
  693.             BOOLEAN022 = 1
  694.             BOOLEAN026 = 0
  695.         Endif
  696.         :LABEL018
  697.         Goto LABEL014
  698.         :LABEL019
  699.         If (BOOLEAN026 && !BOOLEAN027) Then
  700.             STRING035 = STRING033 + STRING034
  701.             Command 0, STRING035
  702.             If (BOOLEAN004) Goto LABEL020
  703.             PromptStr 549, STRING036, 79, Mask_Ascii(), 128
  704.         Endif
  705.     Endif
  706.     :LABEL020
  707.     If (BOOLEAN022) Goto LABEL023
  708.     If (INTEGER016 <> 0) Then
  709.         :LABEL021
  710.         If (BOOLEAN023) Goto LABEL022
  711.         If (INTEGER014 <= INTEGER002) Then
  712.             If (BOOLEAN003) Then
  713.                 If ((INTEGER017 < INTEGER004) && (TINTEGER003(INTEGER017) <= INTEGER002)) Then
  714.                     INTEGER014 = TINTEGER003(INTEGER017)
  715.                     STRING037 = ReadLine(ReadLine(PCBDat(), 31), INTEGER014 * 33 + 1)
  716.                     If ((Len(STRING037) > 0) && U_InConf(INTEGER015, INTEGER014)) Then
  717.                         Inc INTEGER017
  718.                         BOOLEAN023 = 1
  719.                         STRING036 = String(INTEGER014) + ";Q"
  720.                         Join STRING036
  721.                     Else
  722.                         Inc INTEGER017
  723.                     Endif
  724.                 Else
  725.                     BOOLEAN023 = 1
  726.                     BOOLEAN022 = 1
  727.                 Endif
  728.             Else
  729.                 Inc INTEGER014
  730.                 STRING037 = ReadLine(ReadLine(PCBDat(), 31), INTEGER014 * 33 + 1)
  731.                 If ((Len(STRING037) > 0) && U_InConf(INTEGER015, INTEGER014)) Then
  732.                     BOOLEAN023 = 1
  733.                     STRING036 = String(INTEGER014) + ";Q"
  734.                     Join STRING036
  735.                 Else
  736.                     BOOLEAN023 = 0
  737.                 Endif
  738.             Endif
  739.         Else
  740.             BOOLEAN023 = 1
  741.             BOOLEAN022 = 1
  742.         Endif
  743.         Goto LABEL021
  744.         :LABEL022
  745.     Else
  746.         If (BOOLEAN003) Goto LABEL023
  747.         STRING036 = String(INTEGER014) + ";Q"
  748.         Join STRING036
  749.     Endif
  750.     :LABEL023
  751.     Inc INTEGER016
  752.     Goto LABEL012
  753.     :LABEL024
  754.  
  755.     EndProc
  756.  
  757.  
  758. ;------------------------------------------------------------------------------
  759.  
  760.     Procedure PROC008()
  761.  
  762.     Boolean  BOOLEAN030
  763.     Boolean  BOOLEAN031
  764.     Boolean  BOOLEAN032
  765.     Boolean  BOOLEAN033
  766.     Boolean  BOOLEAN034
  767.     Boolean  BOOLEAN035
  768.     Boolean  BOOLEAN036
  769.     Integer  INTEGER018
  770.     Integer  INTEGER019
  771.     Integer  INTEGER020
  772.     Integer  INTEGER021
  773.     Integer  INTEGER022
  774.     String   STRING039
  775.     String   STRING040
  776.     String   STRING041
  777.     String   STRING042
  778.     String   STRING043
  779.     String   STRING044
  780.  
  781.     BOOLEAN030 = 0
  782.     BOOLEAN035 = 1
  783.     INTEGER019 = 0
  784.     INTEGER018 = 0
  785.     INTEGER021 = 0
  786.     INTEGER022 = 0
  787.     INTEGER020 = U_RecNum(U_Name())
  788.     STRING040 = ""
  789.     While (INTEGER018 < INTEGER001) Do
  790.         STRING040 = STRING040 + TSTRING007(INTEGER018) + ";"
  791.         Inc INTEGER018
  792.     EndWhile
  793.     If (Len(STRING018) == 0) Then
  794.         BOOLEAN036 = 0
  795.         STRING044 = ""
  796.     Else
  797.         BOOLEAN036 = 1
  798.         STRING044 = STRING018
  799.     Endif
  800.     :LABEL025
  801.     If (BOOLEAN030) Goto LABEL035
  802.     BOOLEAN033 = 1
  803.     If (BOOLEAN003 && (INTEGER021 == 0)) Then
  804.         BOOLEAN033 = 0
  805.     Endif
  806.     If (BOOLEAN003) Then
  807.         If (INTEGER022 == 0) Then
  808.             BOOLEAN034 = 1
  809.         Else
  810.             BOOLEAN034 = 0
  811.         Endif
  812.     ElseIf (INTEGER021 == 0) Then
  813.         BOOLEAN034 = 1
  814.     Else
  815.         BOOLEAN034 = 0
  816.     Endif
  817.     STRING039 = "Z;"
  818.     STRING042 = "Y"
  819.     BOOLEAN032 = 0
  820.     If (BOOLEAN033) Then
  821.         If (BOOLEAN034) Goto LABEL026
  822.         If (Len(STRING019) > 0) Then
  823.             PrintLn STRING019
  824.             STRING043 = ReadLine(ReadLine(PCBDat(), 31), INTEGER019 * 33 + 1)
  825.             PrintLn STRING043
  826.         Endif
  827.         :LABEL026
  828.         BOOLEAN031 = 0
  829.         :LABEL027
  830.         If (BOOLEAN031) Goto LABEL030
  831.         If (BOOLEAN005 && !BOOLEAN034) Then
  832.             PrintLn 
  833.             DispStr STRING008
  834.             InputStr STRING009, STRING042, 7, 1, "YNA", 256 + 8 + 2
  835.             STRING042 = Upper(STRING042)
  836.             Goto LABEL028
  837.         Endif
  838.         STRING042 = "Y"
  839.         :LABEL028
  840.         If (STRING042 == "Y") Then
  841.             BOOLEAN031 = 1
  842.             If ((((INTEGER021 == 0) || BOOLEAN008) || BOOLEAN035) && !BOOLEAN036) Then
  843.                 STRING042 = ""
  844.                 PromptStr 70, STRING042, 79, Mask_Ascii(), 128 + 256
  845.                 STRING044 = STRING042
  846.                 If (Len(STRING044) == 0) Then
  847.                     BOOLEAN030 = 1
  848.                     BOOLEAN033 = 0
  849.                 Endif
  850.                 STRING018 = STRING042
  851.             Endif
  852.             STRING039 = STRING039 + STRING018 + ";"
  853.             If (BOOLEAN009 && BOOLEAN033) Then
  854.                 If (((INTEGER021 == 0) || BOOLEAN010) || BOOLEAN035) Then
  855.                     STRING042 = "A"
  856.                     PromptStr 352, STRING042, 0, Mask_Ascii(), 128 + 256
  857.                     STRING016 = STRING042
  858.                     If (Len(STRING016) == 0) Then
  859.                         BOOLEAN030 = 1
  860.                         BOOLEAN033 = 0
  861.                     Endif
  862.                 Endif
  863.             Endif
  864.             STRING039 = STRING039 + STRING016 + ";"
  865.             BOOLEAN035 = 0
  866.             Goto LABEL029
  867.         Endif
  868.         If (STRING042 == "N") Then
  869.             BOOLEAN031 = 1
  870.             BOOLEAN033 = 0
  871.             Goto LABEL029
  872.         Endif
  873.         If (STRING042 == "A") Then
  874.             BOOLEAN031 = 1
  875.             BOOLEAN030 = 1
  876.             BOOLEAN033 = 0
  877.         Endif
  878.         :LABEL029
  879.         Goto LABEL027
  880.         :LABEL030
  881.         If (BOOLEAN033 && !BOOLEAN034) Then
  882.             STRING041 = STRING039 + STRING040
  883.             Command 0, STRING041
  884.             If (BOOLEAN004) Goto LABEL031
  885.             PromptStr 549, STRING042, 79, Mask_Ascii(), 128
  886.         Endif
  887.     Endif
  888.     :LABEL031
  889.     If (BOOLEAN030) Goto LABEL034
  890.     If (INTEGER021 <> 0) Then
  891.         :LABEL032
  892.         If (BOOLEAN032) Goto LABEL033
  893.         If (INTEGER019 <= INTEGER002) Then
  894.             If (BOOLEAN003) Then
  895.                 If ((INTEGER022 < INTEGER004) && (TINTEGER003(INTEGER022) <= INTEGER002)) Then
  896.                     INTEGER019 = TINTEGER003(INTEGER022)
  897.                     STRING043 = ReadLine(ReadLine(PCBDat(), 31), INTEGER019 * 33 + 1)
  898.                     If ((Len(STRING043) > 0) && U_InConf(INTEGER020, INTEGER019)) Then
  899.                         Inc INTEGER022
  900.                         BOOLEAN032 = 1
  901.                         STRING042 = String(INTEGER019) + ";Q"
  902.                         Join STRING042
  903.                     Else
  904.                         Inc INTEGER022
  905.                     Endif
  906.                 Else
  907.                     BOOLEAN032 = 1
  908.                     BOOLEAN030 = 1
  909.                 Endif
  910.             Else
  911.                 Inc INTEGER019
  912.                 STRING043 = ReadLine(ReadLine(PCBDat(), 31), INTEGER019 * 33 + 1)
  913.                 If ((Len(STRING043) > 0) && U_InConf(INTEGER020, INTEGER019)) Then
  914.                     BOOLEAN032 = 1
  915.                     STRING042 = String(INTEGER019) + ";Q"
  916.                     Join STRING042
  917.                 Else
  918.                     BOOLEAN032 = 0
  919.                 Endif
  920.             Endif
  921.         Else
  922.             BOOLEAN032 = 1
  923.             BOOLEAN030 = 1
  924.         Endif
  925.         Goto LABEL032
  926.         :LABEL033
  927.     Else
  928.         If (BOOLEAN003) Goto LABEL034
  929.         STRING042 = String(INTEGER019) + ";Q"
  930.         Join STRING042
  931.     Endif
  932.     :LABEL034
  933.     Inc INTEGER021
  934.     Goto LABEL025
  935.     :LABEL035
  936.  
  937.     EndProc
  938.  
  939.  
  940. ;------------------------------------------------------------------------------
  941.  
  942.     Function FUNCTION001(String STRING045) String
  943.  
  944.     String   STRING047
  945.     String   STRING048
  946.  
  947.     GetUser
  948.     If (Len(LangExt()) <> 0) Then
  949.         STRING047 = STRING045 + String(U_Sec) + FUNCTION002() + LangExt()
  950.         If (Exist(STRING047)) Goto LABEL036
  951.         STRING047 = STRING045 + String(U_Sec) + LangExt()
  952.         If (Exist(STRING047)) Goto LABEL036
  953.         STRING047 = STRING045 + FUNCTION002() + LangExt()
  954.         If (Exist(STRING047)) Goto LABEL036
  955.         STRING047 = STRING045 + LangExt()
  956.         If (Exist(STRING047)) Goto LABEL036
  957.         If (Exist(STRING045)) Goto LABEL036
  958.         PROC009("configuration file not found")
  959.         :LABEL036
  960.     Else
  961.         STRING047 = STRING045 + String(U_Sec) + FUNCTION002()
  962.         If (Exist(STRING047)) Goto LABEL037
  963.         STRING047 = STRING045 + String(U_Sec)
  964.         If (Exist(STRING047)) Goto LABEL037
  965.         STRING047 = STRING045 + FUNCTION002()
  966.         If (Exist(STRING047)) Goto LABEL037
  967.         If (Exist(STRING045)) Goto LABEL037
  968.         PROC009("configuration file not found")
  969.     Endif
  970.     :LABEL037
  971.     FUNCTION001 = STRING047
  972.  
  973.     EndFunc
  974.  
  975.  
  976. ;------------------------------------------------------------------------------
  977.  
  978.     Function FUNCTION002() String
  979.  
  980.     String   STRING049
  981.  
  982.     If (GrafMode() == "N") Then
  983.         FUNCTION002 = ""
  984.     Else
  985.         FUNCTION002 = GrafMode()
  986.     Endif
  987.  
  988.     EndFunc
  989.  
  990.  
  991. ;------------------------------------------------------------------------------
  992.  
  993.     Procedure PROC009(String STRING049)
  994.  
  995.     Log "Conference Scan Error:  " + STRING049, 0
  996.     PrintLn "Conference Scan Error:  " + STRING049
  997.     PROC010()
  998.  
  999.     EndProc
  1000.  
  1001.  
  1002. ;------------------------------------------------------------------------------
  1003.  
  1004.     Procedure PROC010()
  1005.  
  1006.     End
  1007.  
  1008.     EndProc
  1009.  
  1010.  
  1011. ;------------------------------------------------------------------------------
  1012. ;
  1013. ; Usage report (before postprocessing)
  1014. ;
  1015. ; ■ Statements used :
  1016. ;
  1017. ;    2       End
  1018. ;    222     Goto 
  1019. ;    271     Let 
  1020. ;    16      PrintLn 
  1021. ;    144     If 
  1022. ;    1       FOpen 
  1023. ;    1       FClose 
  1024. ;    1       GetUser
  1025. ;    8       Log 
  1026. ;    3       InputStr 
  1027. ;    9       PromptStr 
  1028. ;    3       Delay 
  1029. ;    20      Inc 
  1030. ;    1       Dec 
  1031. ;    1       Tokenize 
  1032. ;    9       Join 
  1033. ;    3       DispStr 
  1034. ;    1       FDefIn 
  1035. ;    11      FDGet 
  1036. ;    10      EndProc
  1037. ;    2       EndFunc
  1038. ;    3       Command 
  1039. ;
  1040. ;
  1041. ; ■ Functions used :
  1042. ;
  1043. ;    9       *
  1044. ;    77      +
  1045. ;    1       -
  1046. ;    70      ==
  1047. ;    6       <>
  1048. ;    7       <
  1049. ;    8       <=
  1050. ;    10      >
  1051. ;    1       >=
  1052. ;    153     !
  1053. ;    27      &&
  1054. ;    19      ||
  1055. ;    24      Len(
  1056. ;    8       Upper()
  1057. ;    3       U_Name()
  1058. ;    1       U_LDir()
  1059. ;    2       Strip()
  1060. ;    15      String()
  1061. ;    8       Mask_Ascii()
  1062. ;    9       PCBDat()
  1063. ;    1       PPEPath()
  1064. ;    2       ValDate()
  1065. ;    18      ReadLine()
  1066. ;    2       GetToken()
  1067. ;    9       Exist()
  1068. ;    5       LangExt()
  1069. ;    2       GrafMode()
  1070. ;    1       TokCount()
  1071. ;    3       U_RecNum()
  1072. ;    6       U_InConf()
  1073. ;    1       ToDate()
  1074. ;    1       ToInteger()
  1075. ;    1       LastAns()
  1076. ;    1       HiConfNum()
  1077. ;
  1078. ;------------------------------------------------------------------------------
  1079. ;
  1080. ; Analysis flags : d
  1081. ;
  1082. ; d - Access PCBOARD.DAT ■ 2
  1083. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  1084. ;     for many PPE so they can find various informations on the system
  1085. ;     (system paths, max number of lines in messages, ...) but it may also
  1086. ;     be a way to gather vital informations.
  1087. ;     ■ Search for : PCBDAT()
  1088. ;
  1089. ;------------------------------------------------------------------------------
  1090. ;
  1091. ; Postprocessing report
  1092. ;
  1093. ;    0       For/Next
  1094. ;    5       While/EndWhile
  1095. ;    84      If/Then or If/Then/Else
  1096. ;    3       Select Case
  1097. ;
  1098. ;------------------------------------------------------------------------------
  1099. ;                 AEGiS Corp - Break the routines, code against the machines!
  1100. ;------------------------------------------------------------------------------
  1101.